Changelog
v0.4.8
Added
eighmethod to compute eigenvalues and eigenvectors of a two-leg hermitian tensor.
v0.4.7
Parallel CPU tests.
Added test for version bumps in Gitlab CI/CD pipeline.
v0.4.6
Updates from master v0.3.15.
Deleted Jenkins-related files.
Supporting jax versions above 0.5 which removed jaxlib.xla_extension.
Enabled 64 bit precision by default for jax tensors, to allow float64 and complex128 tensors.
v0.4.5
Added
squeeze_updatemethod to the backend implementations.Adapted to qtealeaves version >= 1.10.0.
Added
__truediv__method to abelian tensors.
v0.4.4
Updates from master v0.3.14.
v0.4.3
Bugfix in slicing in to_dense()
v0.4.2
Added matmul method to the abstract tensor class and backend implementations.
v0.4.1
Adapted to qtealeaves version 1.8.2 - Changed naming of observables - Removed tensor method set_subtensor_entry in favor of numpy-like indexing and changed code accordingly.
Bugfix for QteaQTorchTensor: QteaQuantizer is now pickable.
Bugfix for QteaTFTensor returning complex singular values.
Changed dockerfile for the build server
v0.4.0
Version bump minor for new branch develop.
v0.3.17
Fix a bug in the documentation build configuration.
v0.3.16
Minimal changes to Gitlab CI/CD configuration, to fix some issue for the public version.
v0.3.15
Moved build and deploy stage to Gitlab CI/CD pipeline.
Added optional dependencies for each backend, e.g.,
qredtea[torch]to install the torch backend and its dependencies.Moved the test and deploy pipeline to Gitlab CI/CD, now supporting concurrent testing on different hardware (CPU and GPU).
Adapted abelian tensors
.split_link_deg_chargetoQteaTensor.set_subtensor_entrynew logic (qtealeaves v1.7.18) which squeezes links of dimension one.
v0.3.14
Modernized the build system by relying solely on
pyproject.toml.setup.pyis now a thin wrapper aroundsetuptools.setup(). This andconanfile.pywill be removed once we switch to Gitlab CI/CD.Removed
requirements.txtas dependencies are now specified inpyproject.toml.
v0.3.13
Prepare new public version merging master and develop. One version added from master being 0.2.5.
v0.3.12
Updated dockerfile.
v0.3.11
Bugfix: Restore agreement between the qtealeves version required in requirements.txt and setup.py.
v0.3.10
eigvalsh for tensor APIs.
v0.3.9
Added support for matrix_functions for all backends, implemented matrix_functions() for Abelian Tensors.
Small changes to optimizer and backpropagation functions.
Bugfix: removed deepcopy() which obstructed pyTorch’s backpropagation.
Bugfix: removed using DenseTensorEigenSolverH as a default option for torch tensor on GPU until the solver is stable.
v0.3.8
Change CI/CD tooling to run unittests on GPU.
v0.3.7
Overwritten __str__() function for QteaTorchTensor and QteaAbelianTensor to print a cleaner output/all degeneracy tensors.
Added _repr_html_() function for QteaAbelianTensor for print output in Jupyter Notebook.
v0.3.6
Import changes from branch master, i.e., v0.2.2 to v0.2.4.
Update qpytorch with necessary changes with respect to v0.2.4.
v0.3.5
Reshuffled methods in tensors a bit; inherit some more methods defined in the base tensor.
Update MPI interface and newer version of qtealeaves required.
v0.3.4
Added QteaQTorchTensor backend based on [qtorch](https://github.com/Tiiiger/QPyTorch). This emulates numerical quantization on lower-precision devices.
Added tests for QteaQTorchTensor backend.
Fixed pytest test discovery in pyproject.toml.
v0.3.3
Fix bug in flatten for symmetric tensors.
v0.3.2
Fix torch tensors conj_update.
Use new eigen solver for dense tensors and run its unittests.
Update qtealeaves dependency to v1.6.5
v0.3.1
Import changes from v0.2.1.
Update developers readme.
v0.3.0
Version bump minor for new develop branch.
v0.2.5
Allow set_missing_link to project into target sectors before truncating.
Minor fix local symmetry projectors (overwritten variable in loop).
v0.2.4
Allow seed to be set via static method of tensor backend.
v0.2.3
Tensorflow backend: accept device index 0, although no higher device indices for GPUs are accepted.
v0.2.2
Revisions for benchmarking paper (no changes in source code).
v0.2.1
Bugfix sphinx docs
Update to new build server.
v0.2.0
Switching to python3.11 and upgrading to corresponding qtealeaves version.
Implementing some missing new APIs in the tensor modules.
v0.1.20
Patching tensordot` by automatic (warned) switching to left-tensor device.
Preparing for next public release of qtealeaves.
Allowing to skip tests on a specific tensor backend if the associated library is not installed.
v0.1.19
Improve QteaTorchTensor towards inheriting from it; fix several methods which would have returned a QteaTorchTensor even after inheriting.
v0.1.18
Updates from qtealeaves for ability to select GPU via index and improved mixed-device mode; torch supports GPU via index; tensorflow and jax backend are pending.
v0.1.17
flatten for AbelianLinkWeights return native data type of backend (and sorts)
old flatten functionality covered in tolist
v0.1.16
Implemented a randomize method for all tensor backends.
Updated the required version of qtealeaves to 1.4.25
v0.1.15
License copyright update and year update
v0.1.14
Activate some unittests.
Enable einsum via tensordot for two tensors without permutation, without batch.
Update qtealeaves version.
Remove property has_symmetry and rely on class-wide attribute.
v0.1.13
Fix CI/CD for internal repository (no changes in the library).
v0.1.12
Update streams (pass flag to QR and SVD).
Bugfix normalization after SVD (torch backend)
v0.1.11
Char data type now accepts I for int32
Bugfix resolve max bond dimension
base tensor class can be resolved in _AbstractQteaBaseTensor
Bugfix torch sum (via get_attr)
v0.1.10
Implemented functions for streams for different backend tensors (streams can be enabled for cupy/GPU by the user, but are not enabled by default).
Implement streams for Abelian tensors and the tensordot.
v0.1.9
gitignore local installation files
v0.1.8
Added the datamover to abelian tensors. Now comes from the base_tensor_class.
A bugfix when restricting irreps of symmetric tensors.
Also includes the get_optimizer() and backward() calls for torch tensors. The complete backpropagation support is a part of an upcoming version.
v0.1.7
Update the QteaTorchTensor class to use python built-in logging module, following the [guidelines](https://docs.python.org/3/howto/logging.html#logging-basic-tutorial).
v0.1.6
Update the QteaTorchTensor class to allow for a requires_grad option
Update the copy function to keep the same requires_grad property
Fixed the tensor initialization procedures so that the result torch tensor is always a leaf tensor
v0.1.5
Activate isort tool to manage imports.
v0.1.4
Update qtealeaves dependency to get new abstract test classes for observables
Bugfixes to make unittests for qtealeaves observables pass will all backends
v0.1.3
Added get_default_datamover() methods for all tensor backends.
v0.1.2
Update qtealeaves version for dependency
Add implementation of new abstract interfaces in abstract tensor.
Error detection for torch SVD
Enables TN ML for torch and jax (jax superslow), tensorflow still failing but running through.
v0.1.1
Small bugfixes for the torch backend.
v0.1.0
Version bump minor spliting develop from master
Bugfix to_dense_singvals
Bugfix conversion into symmetric tensors if trivial irreps not in local Hilbert space.
Tooling for translating local symmetries in as few global symmetries as possible for TTNs (including an addtion class for symmetry injectors etc.).
v0.0.18
Fix missing argument for torch.cumsum by wrapping function; now equal to numpy arguments.
v0.0.17
bugfix conj not returning true copy (torch simulation had problems due to this in correlation measurements).
v0.0.16
Bugfixes initialization, torch (discovered mostly during dynamics)
v0.0.15
Add sphinx files with autodoc for building documentation.
Bugfix ArpackError import and tensorflow vacuum state
Update benchmarking script (mostly postprocessing part).
v0.0.14
Allowing creation of empty tensors (weak symmetries have a valid scenario).
Bugfix AbelianSymLinkWeights
Multiple smaller fixes.
Unittest for MPS simulation and TTO (not actived yet).
Change all URLs to public repository; establish mirroring and PyPi.
Disable sanity checks for benchmark.
Update qtealeaves version.
v0.0.13
Implement restricting irreps in tensor link, splitting tensor link in degeneracy and charge.
Passing through initialtization “1” (qtealeaves version must allow).
Fix things for higher-rank tensors (mostly split_svd)
Read / write pickle for tensor.
Unittest for finite-T simulation (not actived yet).
Symmetry injector: added global keyword for globally selected symmetry sector instead of TTN-specific (0, 0) key.
v0.0.12
Define qtealeaves version via >= allowing for more combinations (e.g., with qmatchatea).
v0.0.11
Fixes to inject abs for jax and tensorflow; remove injected when using Arpack interface.
v0.0.10
Fixes for Abelian symmetry with torch, jax, and tensorflow.
Extend benchmarking scripts.
v0.0.9
Implemented try-except on the __init__ level to avoid errors when importing from the library
v0.0.8
Implemented mask_to_host for tensorflow and jax
Implemented the possibility of passing a np.ndarray when initializing an arbitrary tensor with Qtea<Backend>Tensor.from_elem_array()
Implemented kron method for all non-symmetric backends
v0.0.7
Update qtealeaves version.
Introduce jax and tensorflow backends
Introduce benchmarks
Update pylint and black version (e.g., exception handling)
Bugfix in setup, symmetries was not installed but required by torchapi
Fixes for pytorch for benchmarks
Bugfix in torchapi, the minimum bond dimension was required by a truncation function
Added precise version of pytorch that is tested
Bugfix for astype not being defined for torch tensors, using .to instead to change type
v0.0.6
Bugfixes for torchapi, e.g., mask to device.
v0.0.5
Add Abelian symmetry class.
Fix small issues in pytorch found when running examples simulations with symmetries.
v0.0.4
Enable unittesting for QteaTorchTensors (torch available on build server now)
Update to qtealeaves v1.2.6, e.g., operator sets, block size.
Small bugfixes in QteaTorchTensor
v0.0.3
Enable XLA devices for torch (still a bit bumpy, but well …)
v0.0.2
Add tensor-class with support for torch.
v0.0.1
Create repository